package com.gdpu.project.dao;

import java.util.Date;
import java.util.List;

import com.gdpu.page.vo.QueryResult;
import com.gdpu.project.vo.CgThesis;

public interface CgThesisDao {

	public abstract void save(CgThesis transientInstance);

	public abstract void delete(CgThesis persistentInstance);

	public abstract CgThesis findById(java.lang.Integer id);

	public abstract List<CgThesis> findByExample(CgThesis instance);
	/**
	 * 根据属性分页查找论文
	 * @param propertyName
	 * @param value
	 * @return
	 */
	public abstract QueryResult<CgThesis> findByProperty(String propertyName,
			Object valueint,int firstindex,int maxresult);
	/**
	 * 根据教师编号不分页查询所有论文
	 */
	public abstract QueryResult<CgThesis> findByTeacherId(Object teacherId);
	public abstract QueryResult<CgThesis> findByTeacherId(Object teacherId,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByThesisId(Object thesisId,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByThesisType(Object thesisType,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByThesisTitle(Object thesisTitle,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByThesisEnTitle(Object thesisEnTitle,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByKanWu(Object kanWu,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByGrade(Object grade,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByJuanHao(Object juanHao,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findBySchoolSign(Object schoolSign,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByPublishRange(Object publishRange,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByQiHao(Object qiHao,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByPageRange(Object pageRange,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByZiShu(Object ziShu,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByProjectOrigin(Object projectOrigin,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByXueKe(Object xueKe,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByLayout(Object layout,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByYiWen(Object yiWen,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByKeYanFen(Object keYanFen,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByThesisZy(Object thesisZy,int firstindex,int maxresult);

	public abstract QueryResult<CgThesis> findByComment(Object comment,int firstindex,int maxresult);

	/*public abstract List<CgThesis> findAll();*/
	/**
	 * 分页查找所有CgThesis记录
	 */
	public abstract QueryResult<CgThesis> findAll(int firstindex,int maxresult);
	public abstract CgThesis merge(CgThesis detachedInstance);

	public abstract void attachDirty(CgThesis instance);

	public abstract void attachClean(CgThesis instance);
/**
 * 根据条件查询全部论文（CgThesis）
 * @param string
 * @param id
 * @param startDate
 * @param endDate
 * @return
 */
	public abstract List<CgThesis> nfindByProperty(String id, String value,
			Date startDate, Date endDate);
	/**
	 * 高级搜索分页查询
	 * @param id
	 * @param vaule
	 * @param startDate
	 * @param endDate
	 * @param firstindex
	 * @param maxresult
	 * @return
	 */
	public abstract QueryResult<CgThesis> nfindByProperty(String id, List value,
			Date startDate, Date endDate,int firstindex,int maxresult);

	public abstract int count(String id);
	

}